home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.hitl.washington.edu
/
ftp.hitl.washington.edu.tar
/
ftp.hitl.washington.edu
/
pub
/
people
/
tsoper
/
CT Explorer
/
Transmitter.cs
< prev
next >
Wrap
Text File
|
2005-05-23
|
4KB
|
153 lines
using System;
using System.Windows.Forms;
namespace PCIBird
{
/// <summary>
/// Summary description for Board.
/// </summary>
public class Xmtr
{
public SerialNumberTXParameter SerialNumberTX;
public ReferenceFrameParameter ReferenceFrame;
public XYZReferenceFrameParameter XYZReferenceFrame;
PCIBirdWrapper pciBird;
ushort id;
//overloaded constructors
public Xmtr()
{
//create wrapper library
pciBird = new PCIBirdWrapper();
id = 0; //initialize id to 0
LoadParameters();
}
public Xmtr(ushort ID)
{
//create wrapper library
pciBird = new PCIBirdWrapper();
id = ID;
LoadParameters();
}
public Xmtr(ushort ID, PCIBirdWrapper pciBirdWrapper)
{
//create wrapper library
pciBird = pciBirdWrapper;
id = ID;
LoadParameters();
}
private void LoadParameters()
{
//instantiate parameters
SerialNumberTX = new SerialNumberTXParameter(id,pciBird);
ReferenceFrame = new ReferenceFrameParameter(id,pciBird);
XYZReferenceFrame = new XYZReferenceFrameParameter(id,pciBird);
}
public XmtrConfig GetXmtrConfig()
{
return pciBird.GetXmtrConfig(id);
}
public void PrintXmtrConfig(RichTextBox rtb)
{
XmtrConfig xc = GetXmtrConfig();
string ConfigStr = "\n\nTRANSMITTER " + id + " CONFIGURATION:\n" +
"Serial Number: " + xc.serialNumber + "\n" +
"Board Number: " + xc.boardNumber + "\n" +
"Channel Number: " + xc.channelNumber + "\n" +
"Type: " + xc.type + "\n" +
"Attached: " + xc.attached + "\n";
rtb.AppendText(ConfigStr);
}
public void PrintXmtrParameters( RichTextBox rtb )
{
string paramStr = "\n\nTRANSMITTER " + id + " PARAMETERS:\n" +
"Serial Number TX: " + this.SerialNumberTX.Get() + "\n" +
"Reference Frame: " + " azimuth:" + this.ReferenceFrame.Get().a +
" elevation:" + this.ReferenceFrame.Get().e +
" roll:" + this.ReferenceFrame.Get().r + "\n" +
"XYZ Reference Frame: " + this.XYZReferenceFrame.Get() + "\n";
rtb.AppendText(paramStr);
}
/************************ PARAMETER CLASSES ***********************************/
public class SerialNumberTXParameter
{
PCIBirdWrapper pciBird;
ushort id;
public SerialNumberTXParameter(ushort ID, PCIBirdWrapper pciBirdWrapper)
{
id = ID;
pciBird = pciBirdWrapper;
}
public int Get()
{
object o = new int();
pciBird.GetXmtrParam(id,XMTR_PARAMETER_TYPE.SERIAL_NUMBER_TX,o,4);
return Convert.ToInt32(o);
}
}
public class ReferenceFrameParameter
{
PCIBirdWrapper pciBird;
ushort id;
public ReferenceFrameParameter(ushort ID, PCIBirdWrapper pciBirdWrapper)
{
id = ID;
pciBird = pciBirdWrapper;
}
public AnglesReading Get()
{
AnglesReading rf = new AnglesReading();
pciBird.GetXmtrParam(id,XMTR_PARAMETER_TYPE.REFERENCE_FRAME,rf,24);
return rf;
}
public void Set(AnglesReading rf)
{
pciBird.SetXmtrParam(id,XMTR_PARAMETER_TYPE.REFERENCE_FRAME,rf,24);
return;
}
}
public class XYZReferenceFrameParameter
{
PCIBirdWrapper pciBird;
ushort id;
public XYZReferenceFrameParameter(ushort ID, PCIBirdWrapper pciBirdWrapper)
{
id = ID;
pciBird = pciBirdWrapper;
}
public bool Get()
{
object o = new int();
pciBird.GetXmtrParam(id,XMTR_PARAMETER_TYPE.XYZ_REFERENCE_FRAME,o,4);
return Convert.ToBoolean(o);
}
public void Set(bool torf)
{
int xyzrf = torf.CompareTo(false);
pciBird.SetXmtrParam(id,XMTR_PARAMETER_TYPE.XYZ_REFERENCE_FRAME,xyzrf,4);
return;
}
}
}
}